from rest_framework import permissions

class IsAdminOrReadOnly(permissions.BasePermission):
    """
    自定义权限类：
    - 管理员用户可以执行所有操作
    - 普通用户只能执行读操作（GET, HEAD, OPTIONS）
    """
    def has_permission(self, request, view):
        # 允许所有用户进行读操作
        if request.method in permissions.SAFE_METHODS:
            return True
        # 仅管理员可以进行写操作
        return request.user and request.user.is_staff 